// obj: key只能是字符串
// 普通对象虽然key可以传递任意类型，但是本质上内部会将这些类型.toString(), 如果存储的是对象类型，那么此时他的key值为[object Object]
/* const obj = {};
obj[true] = "value";
obj[123] = "value";
obj[{ a: 1 }] = "value";

console.log(Reflect.ownKeys(obj));
console.log(obj["[object Object]"]); */

// map: 可以使用任意类型的值作为key
const m = new Map();
const tom = { name: "tom" };
m.set(tom, 90);
console.log(m);
console.log(m.get(tom));

// 包含
// m.has()
// 删除
// m.delete()
// 清空
// m.clear()
// 遍历
m.forEach((value, key) => {
  console.log(value, key);
});
